package br.com.agregador.managedbean.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import br.com.agregador.entity.Cidade;

@FacesConverter(value = "cidadeConverter")
public class CidadeConverter implements Converter {

	@Override
	public Object getAsObject(FacesContext context, UIComponent ui, String valor) {
		if (valor == null || valor.equals("")) {
			return valor;
		}
		Cidade cidade = new Cidade();
		String[] campos = valor.split("-");
		if (campos.length == 1) {
			return new Cidade();
		}
		cidade.setId(new Long(campos[0]));
		cidade.setNome(campos[1]);
		return cidade;
	}

	@Override
	public String getAsString(FacesContext context, UIComponent ui, Object valor) {
		if (valor == null || valor.equals("")) {
			return "";
		}
		Cidade cidade = (Cidade) valor;
		if (cidade.getId() == null || cidade.getId() == 0) {
			return "";
		}
		return "" + cidade.getId() + "-" + cidade.getNome();
	}
}
